//
//  NetworkBaseSessionManager.h
//  SLDemo
//
//  Created by bocai on 2016/12/5.
//  Copyright © 2016年 Heracles. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "NetworkConfiguration.h"

typedef void(^NetworkBaseSessionCallbackBlock)(id responseObject, NSProgress *progress, NSError *error);

@interface NetworkBaseSessionManager : NSObject

+ (instancetype)sharedManager;

- (void)requestWithURLString:(NSString *)urlString
                  httpMethod:(NetworkHTTPMethod)httpMethod
                  parameters:(NSDictionary *)parameters
               callbackBlock:(NetworkBaseSessionCallbackBlock)callbackBlock;

- (void)uploadDatasWithURLString:(NSString *)urlString
                      parameters:(NSDictionary *)parameters
                           datas:(NSArray<NSData *> *)datas
                            name:(NSString *)name
                       fileNames:(NSArray<NSString *> *)fileNames
                        mimeType:(NSString *)mimeType
                   callbackBlock:(NetworkBaseSessionCallbackBlock)callbackBlock;

@end
